home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
090
/
v7n11.arc
/
LN711.ARC
/
DOLINE.BAS
< prev
next >
Wrap
BASIC Source File
|
1988-05-02
|
888b
|
29 lines
SUB DoLine (X1#, Y1#, X2#, Y2#) STATIC
IF ABS(X2# - X1#) < .01 THEN 'calc slope of line
My# = SGN(Y2# - Y1#) 'based on configuration
Mx# = 0 'of the end points
ELSE
M# = (Y2# - Y1#) / (X2# - X1#)
IF ABS(M#) > 1 THEN
My# = SGN(Y2# - Y1#)
Mx# = SGN(X2# - X1#) / ABS(M#)
ELSE
My# = M# * SGN(Y2# - Y1#)
Mx# = SGN(X2# - X1#)
END IF
END IF
DrawPixel:
IF POINT(X1#, Y1#) = 0 THEN PSET(X1#, Y1#) 'plot if black
X1# = X1# + Mx# 'increment current pixel on screen
Y1# = Y1# + My# ' whether or not a point was plotted
IF INT(X1#) = INT(X2#) AND INT(Y1#) = INT(Y2#) THEN _
EXIT SUB 'we reached the end of the line
GOTO DrawPixel 'attempt to draw the next pixel
END SUB